package com.kylin.domain.commodity.event;

import com.kylin.domain.commodity.vo.AlbumVO;
import com.kylin.shared.enums.ApprovalState;
import com.kylin.shared.enums.YesNoEnum;
import lombok.Builder;
import lombok.Value;
import org.axonframework.modelling.command.AggregateIdentifier;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 创建商品spu聚合完成事件
 * @author Damon S.
 * @version v1.0.1
 * @date 2019年11月26日 17:25
 */
@Value
@Builder
public class CommodityCreatedEvent {
    @AggregateIdentifier
    Long    spuId;
    String  name;
    String  subtitle;
    String  code;
    String  coverUrl;
    Long    price;
    Integer inventory;
    String  description;

    YesNoEnum shelved;
    YesNoEnum removed;
    ApprovalState approvalState;

    Long    merchantId;
    Long    createdBy;
    LocalDateTime createdAt;

    List<AlbumVO> albumVO;
}
